class Solution {
    public boolean lemonadeChange(int[] bills) {
        int[][] arr={{5,0},{10,0},{20,0}};
        for (int i = 0; i < bills.length; i++) {
            int x=bills[i];
            if(x==5){
                arr[0][1]++;
            }else if(x==10){
                arr[1][1]++;
                if(!isTrue(arr,5)){
                    return false;
                }
            }else{
                arr[2][1]++;
                if(!isTrue(arr,15)){
                    return false;
                }
            }
        }
        return true;
    }
    public boolean isTrue(int[][] arr,int x){
        for (int i = 2; i >= 0; i--) {
            while(x>=arr[i][0] && arr[i][1]>0){
                arr[i][1]--;
                x-=arr[i][0];
            }
            if(x==0){
                return true;
            }
        }
        return false;
    }
}